
#if defined(__sw_host__) || defined(__sw_slave__)
#ifndef __lsp_clang__
typedef double __v4df __attribute__((__mode__(__V4DF__)));
typedef float __v4sf __attribute__((__mode__(__V4SF__)));
typedef int __v8si __attribute__((__mode__(__V8SI__)));
typedef unsigned __uv8si __attribute__((__mode__(__V8SI__)));
typedef long __oi __attribute__((__mode__(__V1OI__)));
typedef unsigned long __uoi __attribute__((__mode__(__V1OI__)));
typedef __oi __v4di;
typedef __uoi __uv4di;
#else
typedef double __v4df __attribute__((vector_size(32)));
typedef float __v4sf __attribute__((vector_size(16)));
typedef int __v8si __attribute__((vector_size(32)));
typedef unsigned __uv8si __attribute__((vector_size(32)));
typedef long __oi __attribute__((vector_size(32)));
typedef unsigned long __uoi __attribute__((vector_size(32)));
typedef __oi __v4di;
typedef __uoi __uv4di;
#endif
#endif

//#ifdef __lsp_clang__
#if defined(__sw_host__)
__v8si __builtin_sw_slave_loadrw(int*);
__uoi __builtin_sw_slave_uaddo_take_carry(__uoi, __uoi);
__v4sf __builtin_sw_slave_getrs(__v4sf);
__oi __builtin_sw_slave_loadero(long int*);
__oi __builtin_sw_slave_getro(__oi);
__oi __builtin_sw_slave_putro(__oi, int);
__v4sf __builtin_sw_slave_vshuffles(__v4sf, __v4sf, int);
__v8si __builtin_sw_slave_vshufflew(__v8si, __v8si, int);
__v8si __builtin_sw_slave_vlog3ri(__v8si, __v8si, __v8si, int);
__oi __builtin_sw_slave_getco(__oi);
__oi __builtin_sw_slave_putco(__oi, int);
__v4sf __builtin_sw_slave_putrs(__v4sf, int);
__v4df __builtin_sw_slave_putrd(__v4df, int);
__v8si __builtin_sw_slave_loadecw(int*);
__v4df __builtin_sw_slave_getrd(__v4df);
__uoi __builtin_sw_slave_uaddo_carry(__uoi, __uoi);
__v8si __builtin_sw_slave_putrw(__v8si, int);
__oi __builtin_sw_slave_subo_carry(__oi, __oi);
__oi __builtin_sw_slave_addo_take_carry(__oi, __oi);
__v8si __builtin_sw_slave_vlog2xi(__v8si, __v8si, int);
__oi __builtin_sw_slave_vlog2xx(__oi, __oi, int);
__v8si __builtin_sw_slave_vlog2xi_i(__v8si, int, int);
__uoi __builtin_sw_slave_usubo_carry(__uoi, __uoi);
__v8si __builtin_sw_slave_loaderw(int*);
__oi __builtin_sw_slave_loadro(long int*);
__v8si __builtin_sw_slave_getcw(__v8si);
__v4df __builtin_sw_slave_loadcd(double*);
//__v8si __builtin_sw_slave_selldw(__v8si, int, int);
__oi __builtin_sw_slave_loadeco(long int*);
__v4df __builtin_sw_slave_loaderd(double*);
__v4df __builtin_sw_slave_getcd(__v4df);
__v8si __builtin_sw_slave_putcw(__v8si, int);
__oi __builtin_sw_slave_vlog2xx_i(__oi, int, int);
__v4df __builtin_sw_slave_vshuffled(__v4df, __v4df, int);
__oi __builtin_sw_slave_vlog3rx(__oi, __oi, __oi, int);
__oi __builtin_sw_slave_loadco(long int*);
__v4sf __builtin_sw_slave_getcs(__v4sf);
__v4df __builtin_sw_slave_loadecd(double*);
__v4df __builtin_sw_slave_loadrd(double*);
__uoi __builtin_sw_slave_umulqa(__uoi, __uoi);
__uoi __builtin_sw_slave_usubo_take_carry(__uoi, __uoi);
__v4sf __builtin_sw_slave_putcs(__v4sf, int);
__v8si __builtin_sw_slave_getrw(__v8si);
__oi __builtin_sw_slave_addo_carry(__oi, __oi);
__oi __builtin_sw_slave_subo_take_carry(__oi, __oi);
__v8si __builtin_sw_slave_loadcw(int*);
__v4df __builtin_sw_slave_putcd(__v4df, int);
#endif

#if defined(__sw_slave__)
//#ifdef __lsp_clang__
__v8si __builtin_sw_host_vcmplewi(__v8si, int);
__v8si __builtin_sw_host_vseleqwi(__v8si, __v8si, int);
long double __builtin_nanf64x(const char*);
long double __builtin_fabsf128(long double);
__uv8si __builtin_sw_host_vcmpultw(__uv8si, __uv8si);
int __builtin_sw_host_reduc_uminw(__v8si);
__v8si __builtin_sw_host_vucsubw(__v8si, __v8si);
long double __builtin_copysignf64x(long double, long double);
long double __builtin_copysignf128(long double, long double);
int __builtin_sw_host_reduc_smaxw(__v8si);
__v8si __builtin_sw_host_vcmpltwi(__v8si, int);
__v8si __builtin_sw_host_vseleqw(__v8si, __v8si, __v8si);
__v8si __builtin_sw_host_vucaddbi(__v8si, int);
__v8si __builtin_sw_host_vselltw(__v8si, __v8si, __v8si);
int __builtin_sw_host_reduc_umaxw(__v8si);
__v8si __builtin_sw_host_vcmpltw(__v8si, __v8si);
__v8si __builtin_sw_host_vsellewi(__v8si, __v8si, int);
int __builtin_sw_host_ctlzow(__oi);
__v8si __builtin_sw_host_vucsubwi(__v8si, int);
__v8si __builtin_sw_host_vcmpeqw(__v8si, __v8si);
__v8si __builtin_sw_host_vucaddb(__v8si, __v8si);
__v8si __builtin_sw_host_vucaddw(__v8si, __v8si);
__v8si __builtin_sw_host_vsellew(__v8si, __v8si, __v8si);
__v8si __builtin_sw_host_vucaddhi(__v8si, int);
long double __builtin_fabsf64x(long double);
__uv8si __builtin_sw_host_vcmpulewi(__uv8si, unsigned int);
__v8si __builtin_sw_host_vucsubbi(__v8si, int);
__v8si __builtin_sw_host_vcmplew(__v8si, __v8si);
__v8si __builtin_sw_host_vucaddwi(__v8si, int);
__uv8si __builtin_sw_host_vcmpultwi(__uv8si, unsigned int);
long double __builtin_nansf64x(const char*);
__v8si __builtin_sw_host_vucsubh(__v8si, __v8si);
int __builtin_sw_host_vcmpgewi(__v8si, int);
int __builtin_sw_host_reduc_sminw(__v8si);
__v8si __builtin_sw_host_vucsubhi(__v8si, int);
long double __builtin_inff64x();
int __builtin_sw_host_vcmpgew(__v8si, __v8si);
__uv8si __builtin_sw_host_vcmpulew(__uv8si, __uv8si);
__v8si __builtin_sw_host_vselltwi(__v8si, __v8si, int);
__v8si __builtin_sw_host_vsellbcw(__v8si, __v8si, __v8si);
__v8si __builtin_sw_host_vucsubb(__v8si, __v8si);
int __builtin_sw_host_ctpopow(__oi);
__v8si __builtin_sw_host_vsellbcwi(__v8si, __v8si, int);
long double __builtin_huge_valf64x();
__v8si __builtin_sw_host_vucaddh(__v8si, __v8si);
__v8si __builtin_sw_host_vcmpeqwi(__v8si, int);
#endif

//#endif
//void *__builtin_slave_func(void*);
//#endif
